package com.atguigu.gmall.payment.service;

import java.util.Map;

/**
 * @author: atguigu
 * @create: 2023-03-14 10:35
 */
public interface AlipayService {


    /**
     * 展示支付宝支付表单页面
     *
     * @param orderId 订单ID
     * @return
     */
    String createAlipayForm(Long orderId, String userId);

    /**
     * 支付宝进行异步回调,通知商家支付结果,修改本地交易记录状态
     * @param paramsMap 支付宝回调提交所有参数 通过get方法key获取对于值
     * @return
     */
    String notifyPayResult(Map<String, String> paramsMap);


    /**
     * 退款处理
     * @param orderId
     * @return
     */
    boolean refund(Long orderId);


    /**
     * 根据订单查询交易是否可以支付
     * @param orderId
     * @return
     */
    Boolean checkPaymentSatus(Long orderId);


    /***
     * 关闭支付宝交易
     * @param orderId
     * @return
     */
    void closeAliPay(Long orderId);
}
